package modelo;

import java.util.ArrayList;

public class Drogueria {
	
	  private ArrayList<Cliente> clientes;
	  private ArrayList<Proveedor> proveedores;
	  private ArrayList<Linea> lineas;
	    
	   public Drogueria() {
			this.clientes = new ArrayList<Cliente>();
			this.proveedores = new ArrayList<Proveedor>();
			this.lineas = new ArrayList<Linea>();
		}
	   
	   public Drogueria(ArrayList<Cliente> clie,ArrayList<Proveedor> prov,ArrayList<Linea> lin) {
			this.clientes = clie;
			this.proveedores = prov;
			this.lineas = lin;
		}
	   
	   public void agregarCliente(Cliente cl){
			clientes.add(cl);
		}
		
		public Cliente getCliente(int posicion){
			return clientes.get(posicion);
		}
		
		public int cantClientes(){
			return clientes.size();
		}
		
		public int buscarCliente(String ced){
			for (int i = 0; i < cantClientes(); i++) 
				if(clientes.get(i).getCedula().equals(ced))
					return i;
				return -1;
		}
		

		public void eliminarCliente(int i){
			  clientes.remove(i);
			}
		/**************************************************/
		
		  public void agregarProveedores(Proveedor pr){
				proveedores.add(pr);
			}
			
			public Proveedor getProveedores(int posicion){
				return proveedores.get(posicion);
			}
			
			public int cantProveedores(){
				return proveedores.size();
			}
	
			public int buscarProveedores(String rif){
				for (int i = 0; i < cantProveedores(); i++) 
					if(proveedores.get(i).getRif().equals(rif))
						return i;
					return -1;
			}

			public void eliminarProveedor(int i){
				  proveedores.remove(i);
				}
			
			/**************************************************/
			
			public void agregarLinea(Linea lin){
				lineas.add(lin);
			}
			
			public Linea getLinea(int posicion){
				return lineas.get(posicion);
			}
			
			public int cantLineas(){
				return lineas.size();
			}
	
			public int buscarLinea(String codigo){
				for (int i = 0; i < cantLineas(); i++) 
					if(lineas.get(i).getCodigo().equals(codigo))
						return i;
					return -1;
			}
			
			public void eliminarLinea(int i){
				  lineas.remove(i);
				}
	
			/**************************************************/
		
			
			public void incluirProducto(int i, Producto prod){
				System.out.println("i' " + i + " prod "+ prod.getCodigo());
				lineas.get(i).agregarProducto(prod);
				
			}
			
			public Producto getProducto(int i, int j){
				return lineas.get(i).getProducto(j);
			}
			
			public int cantProductosPorLinea(int i){
				return lineas.get(i).cantProductos();
			}
			
		public int buscarProduto(String cod){
			 for (int i = 0; i < cantLineas(); i++){
				for (int j = 0; j < lineas.get(i).cantProductos(); j++)
					if(lineas.get(i).getProducto(j).getCodigo().equalsIgnoreCase(cod)){
						return j;
					}
					
			}
			return -1;
		}
		
		public void eliminarProducto(int i, int j){
			lineas.get(i).eliminarProducto(j);
		}
		
		/********************************************************************************/
		
		public int buscarPosicionLinea(String linea){
			for (int i = 0; i < cantLineas(); i++) 
				if(lineas.get(i).getDescripcion().equals(linea))
					return i;
			return -1;
	
		}
		
		public ArrayList<String> getNombreComboBox(){
			
			ArrayList<String> nombres = new ArrayList();
			for (int i = 0; i < cantLineas(); i++ ){
				nombres.add(lineas.get(i).getDescripcion());
			}
			return nombres;
		}
}


	   



		
	


